package cn.koala.key.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

@ApiModel(value="出库单")
public class LeaveStock {
    /**
     * 主键id
     */
    @ApiModelProperty("主键id")
    private Long id;

    /**
     * 出库单号
     */
    @ApiModelProperty("出库单号")
    @NotNull(message="order_no参数不能为空")
    @Size(max=18,min=0,message="order_no长度超过")
    private String orderNo;

    /**
     * 出库时间
     */
    @ApiModelProperty("出库时间")
    @NotNull(message="out_time参数不能为空")
    private Date outTime;

    /**
     * 出库类型：1-借用出库、2-报废出库、3-遗失出库
     */
    @ApiModelProperty("出库类型：1-借用出库、2-报废出库、3-遗失出库")
    @NotNull(message="order_type参数不能为空")
    private Integer orderType;

    /**
     * 关联订单号
     */
    @ApiModelProperty("关联订单号")
    @NotNull(message="related_order参数不能为空")
    private String relatedOrder;

    /**
     * 状态: 1-未提交，2-已出库，3-已作废
     */
    @ApiModelProperty("状态: 1-未提交，2-已出库，3-已作废")
    @NotNull(message="stock_status参数不能为空")
    private Integer stockStatus;

    /**
     * 操作人工号
     */
    @ApiModelProperty("操作人工号")
    @NotNull(message="operator参数不能为空")
    @Size(max=5,min=0,message="operator长度超过")
    private String operator;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    @NotNull(message="remark参数不能为空")
    @Size(max=100,min=0,message="remark长度超过")
    private String remark;

    /**
     * 钥匙数量
     */
    @ApiModelProperty("钥匙数量")
    @NotNull(message="key_count参数不能为空")
    private Integer keyCount;

    /**
     * 主动创建时间
     */
    @ApiModelProperty("主动创建时间")
    @NotNull(message="gmt_create参数不能为空")
    private Date gmtCreate;

    /**
     * 被动更新时间
     */
    @ApiModelProperty("被动更新时间")
    @NotNull(message="gmt_modified参数不能为空")
    private Date gmtModified;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Date getOutTime() {
        return outTime;
    }

    public void setOutTime(Date outTime) {
        this.outTime = outTime;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public String getRelatedOrder() {
        return relatedOrder;
    }

    public void setRelatedOrder(String relatedOrder) {
        this.relatedOrder = relatedOrder;
    }

    public Integer getStockStatus() {
        return stockStatus;
    }

    public void setStockStatus(Integer stockStatus) {
        this.stockStatus = stockStatus;
    }

    public String getOperator() {
        return operator;
    }

    public void setOperator(String operator) {
        this.operator = operator;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getKeyCount() {
        return keyCount;
    }

    public void setKeyCount(Integer keyCount) {
        this.keyCount = keyCount;
    }

    public Date getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public Date getGmtModified() {
        return gmtModified;
    }

    public void setGmtModified(Date gmtModified) {
        this.gmtModified = gmtModified;
    }
}